package com.dynamixsoftware.printershare;

import android.app.Application;
import android.content.ComponentName;
import android.content.Context;
import android.content.ServiceConnection;
import android.content.pm.PackageInfo;
import android.content.pm.PackageManager;
import android.graphics.Bitmap;
import android.graphics.Canvas;
import android.graphics.Paint;
import android.graphics.Picture;
import android.os.Build;
import android.os.Build.VERSION;
import android.os.IBinder;
import android.text.format.DateUtils;
import android.text.format.Time;
import com.dynamixsoftware.UEH;
import java.io.DataInputStream;
import java.io.File;
import java.io.IOException;
import java.io.OutputStream;
import java.lang.ref.WeakReference;
import java.lang.reflect.Constructor;
import java.lang.reflect.Field;
import java.lang.reflect.Method;
import java.net.HttpURLConnection;
import java.net.InetAddress;
import java.net.InterfaceAddress;
import java.net.NetworkInterface;
import java.net.SocketException;
import java.net.URL;
import java.net.URLEncoder;
import java.net.UnknownHostException;
import java.security.cert.X509Certificate;
import java.util.ArrayList;
import java.util.List;
import java.util.Vector;
import javax.net.ssl.HostnameVerifier;
import javax.net.ssl.SSLSession;
import javax.net.ssl.X509TrustManager;

public class App extends Application {
	public static final String[] DOWNLOAD_PATH_PREFIXES = {
			"http://download.printershare.com/files/android/libpacks/",
			"http://www.dynamixsoftware.com/android/libpacks/" };
	public static final boolean IS_BARNESNOBEL;
	public static final boolean IS_SOUTHERNCAREINC;
	public static Vector<InetAddress> bal_cache_dat;
	public static long bal_cache_ts;
	public static String ext_storage_root;
	public static boolean has_feature_bluetooth;
	public static boolean has_feature_call_log;
	public static boolean has_feature_gls;
	public static boolean has_feature_messages;
	public static boolean has_feature_usb;
	public static boolean is_dev;
	private static final String[] mfg_map = { "Hewlett Packard", "HP",
			"Hewlett-Packard", "HP", "Lexmark International", "Lexmark",
			"OKI DATA CORP", "OKI", "Xerox Corporation", "XEROX", "FUJI XEROX",
			"XEROX", "TOSHIBA TEC", "TOSHIBA", "Samsung Electronics Co., Ltd.",
			"Samsung", "Eastman Kodak Company", "KODAK", "Canon Inc", "Canon",
			"Canon Inc.", "Canon", "Canon,Inc.", "Canon", "Canon .", "Canon",
			"Zebra Technologies", "Zebra", "Prolific Technology Inc.",
			"Prolific", "SEIKO EPSON", "EPSON",
			"KONICA MINOLTA BUSINESS TECHNOLOGIES,INC.", "KONICA MINOLTA",
			"KONICAMINOLTA", "KONICA MINOLTA" };
	private static WeakReference<Context> s24HourLastContext;
	private static boolean sCached24HourMode;
	private static App self;

	public static void clearExternalBytesAllocated() {
		try {
			Class localClass2 = Class.forName("dalvik.system.VMRuntime");
			localClass1 = localClass2;
		} catch (ClassNotFoundException localClassNotFoundException) {
			for (;;) {
				Class localClass1 = null;
			}
		}
		if (localClass1 != null) {
		}
		try {
			Object localObject1 = localClass1.getMethod("getRuntime",
					new Class[0]).invoke(null, new Object[0]);
			Object localObject2 = localClass1.getMethod(
					"getExternalBytesAllocated", new Class[0]).invoke(
					localObject1, new Object[0]);
			Class[] arrayOfClass = new Class[1];
			arrayOfClass[0] = Long.TYPE;
			localClass1.getMethod("trackExternalFree", arrayOfClass).invoke(
					localObject1, new Object[] { localObject2 });
			return;
		} catch (Exception localException) {
			localException.printStackTrace();
			reportThrowable(localException);
			return;
		}
	}

	public static String clearPrinterModelName(String paramString) {
		if (paramString != null) {
			if ((paramString.startsWith("(")) && (paramString.endsWith(")"))) {
				paramString = paramString.substring(1,
						-1 + paramString.length()).trim();
			}
			String str1 = paramString.toLowerCase();
			for (int i = 0; i < mfg_map.length; i += 2) {
				String str2 = mfg_map[i].toLowerCase();
				for (;;) {
					int k = str1.indexOf(str2);
					if (k < 0) {
						break;
					}
					paramString = paramString.substring(0, k)
							+ mfg_map[(i + 1)] + " "
							+ paramString.substring(k + str2.length()).trim();
					str1 = paramString.toLowerCase();
				}
			}
			for (;;) {
				int j = paramString.indexOf(" ");
				if ((j <= 0)
						|| (paramString.toLowerCase().indexOf(
								paramString.substring(0, j + 1).toLowerCase(),
								j + 1) != j + 1)) {
					break;
				}
				paramString = paramString.substring(j + 1);
			}
		}
		if ("".equals(paramString)) {
			paramString = null;
		}
		return paramString;
	}

	public static String formatTimeStampString(Context paramContext,
			long paramLong, boolean paramBoolean) {
		Time localTime1 = new Time();
		localTime1.set(paramLong);
		Time localTime2 = new Time();
		localTime2.setToNow();
		int i;
		int j;
		if (get24HourMode(paramContext)) {
			i = 0x80B00 | 0x80;
			if (localTime1.year == localTime2.year) {
				break label93;
			}
			j = i | 0x14;
		}
		for (;;) {
			if (paramBoolean) {
				j |= 0x15;
			}
			return DateUtils.formatDateTime(paramContext, paramLong, j);
			i = 0x80B00 | 0x40;
			break;
			label93: if (localTime1.yearDay != localTime2.yearDay) {
				j = i | 0x10;
			} else {
				j = i | 0x1;
			}
		}
	}

	public static void freeMem() {
		try {
			Class localClass2 = Class.forName("dalvik.system.VMRuntime");
			localClass1 = localClass2;
		} catch (ClassNotFoundException localClassNotFoundException) {
			for (;;) {
				Class localClass1 = null;
			}
		}
		if (localClass1 != null) {
		}
		try {
			Object localObject = localClass1.getMethod("getRuntime",
					new Class[0]).invoke(null, new Object[0]);
			localClass1.getMethod("gcSoftReferences", new Class[0]).invoke(
					localObject, new Object[0]);
			localClass1.getMethod("runFinalizationSync", new Class[0]).invoke(
					localObject, new Object[0]);
			Runtime.getRuntime().gc();
			Runtime.getRuntime().runFinalization();
		} catch (Exception localThrowable1) {
			try {
				Thread.sleep(100L);
				System.gc();
			} catch (Throwable localThrowable1) {
				try {
					for (;;) {
						Thread.sleep(100L);
						System.gc();
						return;
						localException = localException;
						localException.printStackTrace();
						reportThrowable(localException);
					}
					localThrowable1 = localThrowable1;
					localThrowable1.printStackTrace();
				} catch (Throwable localThrowable2) {
					for (;;) {
						localThrowable2.printStackTrace();
					}
				}
			}
		}
	}

	/* Error */
	private static boolean get24HourMode(Context paramContext) {
		// Byte code:
		// 0: ldc 2
		// 2: monitorenter
		// 3: getstatic 265
		// com/dynamixsoftware/printershare/App:s24HourLastContext
		// Ljava/lang/ref/WeakReference;
		// 6: ifnull +22 -> 28
		// 9: getstatic 265
		// com/dynamixsoftware/printershare/App:s24HourLastContext
		// Ljava/lang/ref/WeakReference;
		// 12: invokevirtual 271 java/lang/ref/WeakReference:get
		// ()Ljava/lang/Object;
		// 15: aload_0
		// 16: if_acmpne +12 -> 28
		// 19: getstatic 273
		// com/dynamixsoftware/printershare/App:sCached24HourMode Z
		// 22: istore_2
		// 23: ldc 2
		// 25: monitorexit
		// 26: iload_2
		// 27: ireturn
		// 28: new 267 java/lang/ref/WeakReference
		// 31: dup
		// 32: aload_0
		// 33: invokespecial 276 java/lang/ref/WeakReference:<init>
		// (Ljava/lang/Object;)V
		// 36: putstatic 265
		// com/dynamixsoftware/printershare/App:s24HourLastContext
		// Ljava/lang/ref/WeakReference;
		// 39: aload_0
		// 40: invokestatic 281 android/text/format/DateFormat:is24HourFormat
		// (Landroid/content/Context;)Z
		// 43: putstatic 273
		// com/dynamixsoftware/printershare/App:sCached24HourMode Z
		// 46: getstatic 273
		// com/dynamixsoftware/printershare/App:sCached24HourMode Z
		// 49: istore_2
		// 50: goto -27 -> 23
		// 53: astore_1
		// 54: ldc 2
		// 56: monitorexit
		// 57: aload_1
		// 58: athrow
		// Local variable table:
		// start length slot name signature
		// 0 59 0 paramContext Context
		// 53 5 1 localObject Object
		// 22 28 2 bool boolean
		// Exception table:
		// from to target type
		// 3 23 53 finally
		// 28 50 53 finally
	}

	/* Error */
	public static final Vector<NetworkInterfaceData> getActiveNetworkInterfaces() {
		// Byte code:
		// 0: ldc 2
		// 2: monitorenter
		// 3: invokestatic 289 java/net/NetworkInterface:getNetworkInterfaces
		// ()Ljava/util/Enumeration;
		// 6: astore 23
		// 8: aload 23
		// 10: astore_3
		// 11: aload_3
		// 12: ifnull +63 -> 75
		// 15: new 291 java/util/Vector
		// 18: dup
		// 19: invokespecial 292 java/util/Vector:<init> ()V
		// 22: astore 5
		// 24: aload_3
		// 25: invokeinterface 298 1 0
		// 30: ifeq +251 -> 281
		// 33: aload_3
		// 34: invokeinterface 301 1 0
		// 39: checkcast 285 java/net/NetworkInterface
		// 42: invokestatic 307
		// com/dynamixsoftware/printershare/App$NetworkInterfaceData:getIfActive
		// (Ljava/net/NetworkInterface;)Lcom/dynamixsoftware/printershare/App$NetworkInterfaceData;
		// 45: astore 21
		// 47: aload 21
		// 49: ifnull -25 -> 24
		// 52: aload 5
		// 54: aload 21
		// 56: invokevirtual 310 java/util/Vector:add (Ljava/lang/Object;)Z
		// 59: pop
		// 60: goto -36 -> 24
		// 63: astore 19
		// 65: aload 19
		// 67: invokevirtual 263 java/lang/Throwable:printStackTrace ()V
		// 70: aload 19
		// 72: invokestatic 148
		// com/dynamixsoftware/printershare/App:reportThrowable
		// (Ljava/lang/Throwable;)V
		// 75: new 312 java/io/File
		// 78: dup
		// 79: ldc_w 314
		// 82: invokespecial 317 java/io/File:<init> (Ljava/lang/String;)V
		// 85: invokevirtual 320 java/io/File:exists ()Z
		// 88: istore 4
		// 90: iload 4
		// 92: ifeq +273 -> 365
		// 95: new 312 java/io/File
		// 98: dup
		// 99: ldc_w 314
		// 102: invokespecial 317 java/io/File:<init> (Ljava/lang/String;)V
		// 105: invokevirtual 324 java/io/File:list ()[Ljava/lang/String;
		// 108: astore 7
		// 110: aload 7
		// 112: ifnull +253 -> 365
		// 115: new 291 java/util/Vector
		// 118: dup
		// 119: invokespecial 292 java/util/Vector:<init> ()V
		// 122: astore 5
		// 124: iconst_0
		// 125: istore 8
		// 127: aload 7
		// 129: arraylength
		// 130: istore 9
		// 132: iload 8
		// 134: iload 9
		// 136: if_icmpge +175 -> 311
		// 139: aload 7
		// 141: iload 8
		// 143: aaload
		// 144: invokestatic 328 java/net/NetworkInterface:getByName
		// (Ljava/lang/String;)Ljava/net/NetworkInterface;
		// 147: astore 18
		// 149: aload 18
		// 151: astore 12
		// 153: aload 12
		// 155: ifnonnull +216 -> 371
		// 158: new 330 java/io/DataInputStream
		// 161: dup
		// 162: new 332 java/io/FileInputStream
		// 165: dup
		// 166: new 182 java/lang/StringBuilder
		// 169: dup
		// 170: invokespecial 183 java/lang/StringBuilder:<init> ()V
		// 173: ldc_w 334
		// 176: invokevirtual 187 java/lang/StringBuilder:append
		// (Ljava/lang/String;)Ljava/lang/StringBuilder;
		// 179: aload 7
		// 181: iload 8
		// 183: aaload
		// 184: invokevirtual 187 java/lang/StringBuilder:append
		// (Ljava/lang/String;)Ljava/lang/StringBuilder;
		// 187: ldc_w 336
		// 190: invokevirtual 187 java/lang/StringBuilder:append
		// (Ljava/lang/String;)Ljava/lang/StringBuilder;
		// 193: invokevirtual 195 java/lang/StringBuilder:toString
		// ()Ljava/lang/String;
		// 196: invokespecial 337 java/io/FileInputStream:<init>
		// (Ljava/lang/String;)V
		// 199: invokespecial 340 java/io/DataInputStream:<init>
		// (Ljava/io/InputStream;)V
		// 202: astore 16
		// 204: aload 16
		// 206: invokevirtual 343 java/io/DataInputStream:readLine
		// ()Ljava/lang/String;
		// 209: astore 17
		// 211: aload 16
		// 213: invokevirtual 346 java/io/DataInputStream:close ()V
		// 216: aload 7
		// 218: iload 8
		// 220: aaload
		// 221: aload 17
		// 223: invokestatic 349
		// com/dynamixsoftware/printershare/App$NetworkInterfaceData:getIfActive
		// (Ljava/lang/String;Ljava/lang/String;)Lcom/dynamixsoftware/printershare/App$NetworkInterfaceData;
		// 226: astore 14
		// 228: aload 14
		// 230: ifnull +11 -> 241
		// 233: aload 5
		// 235: aload 14
		// 237: invokevirtual 310 java/util/Vector:add (Ljava/lang/Object;)Z
		// 240: pop
		// 241: iinc 8 1
		// 244: goto -117 -> 127
		// 247: astore_1
		// 248: aload_1
		// 249: invokevirtual 353 java/lang/Throwable:getCause
		// ()Ljava/lang/Throwable;
		// 252: instanceof 355
		// 255: istore_2
		// 256: aconst_null
		// 257: astore_3
		// 258: iload_2
		// 259: ifne -248 -> 11
		// 262: aload_1
		// 263: invokevirtual 263 java/lang/Throwable:printStackTrace ()V
		// 266: aload_1
		// 267: invokestatic 148
		// com/dynamixsoftware/printershare/App:reportThrowable
		// (Ljava/lang/Throwable;)V
		// 270: aconst_null
		// 271: astore_3
		// 272: goto -261 -> 11
		// 275: astore_0
		// 276: ldc 2
		// 278: monitorexit
		// 279: aload_0
		// 280: athrow
		// 281: aload 5
		// 283: invokevirtual 358 java/util/Vector:size ()I
		// 286: ifne +25 -> 311
		// 289: ldc_w 360
		// 292: ldc_w 362
		// 295: invokestatic 365 java/lang/System:getProperty
		// (Ljava/lang/String;)Ljava/lang/String;
		// 298: invokevirtual 204 java/lang/String:equals (Ljava/lang/Object;)Z
		// 301: istore 20
		// 303: iload 20
		// 305: ifeq +6 -> 311
		// 308: aconst_null
		// 309: astore 5
		// 311: ldc 2
		// 313: monitorexit
		// 314: aload 5
		// 316: areturn
		// 317: astore 10
		// 319: aload 10
		// 321: invokevirtual 353 java/lang/Throwable:getCause
		// ()Ljava/lang/Throwable;
		// 324: instanceof 355
		// 327: istore 11
		// 329: aconst_null
		// 330: astore 12
		// 332: iload 11
		// 334: ifne -181 -> 153
		// 337: aload 10
		// 339: invokevirtual 263 java/lang/Throwable:printStackTrace ()V
		// 342: aload 10
		// 344: invokestatic 148
		// com/dynamixsoftware/printershare/App:reportThrowable
		// (Ljava/lang/Throwable;)V
		// 347: aconst_null
		// 348: astore 12
		// 350: goto -197 -> 153
		// 353: astore 6
		// 355: aload 6
		// 357: invokevirtual 263 java/lang/Throwable:printStackTrace ()V
		// 360: aload 6
		// 362: invokestatic 148
		// com/dynamixsoftware/printershare/App:reportThrowable
		// (Ljava/lang/Throwable;)V
		// 365: aconst_null
		// 366: astore 5
		// 368: goto -57 -> 311
		// 371: aload 12
		// 373: invokestatic 307
		// com/dynamixsoftware/printershare/App$NetworkInterfaceData:getIfActive
		// (Ljava/net/NetworkInterface;)Lcom/dynamixsoftware/printershare/App$NetworkInterfaceData;
		// 376: astore 13
		// 378: aload 13
		// 380: astore 14
		// 382: goto -154 -> 228
		// Local variable table:
		// start length slot name signature
		// 275 5 0 localObject1 Object
		// 247 20 1 localThrowable1 Throwable
		// 255 4 2 bool1 boolean
		// 10 262 3 localEnumeration1 java.util.Enumeration
		// 88 3 4 bool2 boolean
		// 22 345 5 localVector Vector
		// 353 8 6 localThrowable2 Throwable
		// 108 109 7 arrayOfString String[]
		// 125 117 8 i int
		// 130 7 9 j int
		// 317 26 10 localThrowable3 Throwable
		// 327 6 11 bool3 boolean
		// 151 221 12 localNetworkInterface1 NetworkInterface
		// 376 3 13 localNetworkInterfaceData1 NetworkInterfaceData
		// 226 155 14 localObject2 Object
		// 202 10 16 localDataInputStream DataInputStream
		// 209 13 17 str String
		// 147 3 18 localNetworkInterface2 NetworkInterface
		// 63 8 19 localThrowable4 Throwable
		// 301 3 20 bool4 boolean
		// 45 10 21 localNetworkInterfaceData2 NetworkInterfaceData
		// 6 3 23 localEnumeration2 java.util.Enumeration
		// Exception table:
		// from to target type
		// 15 24 63 java/lang/Throwable
		// 24 47 63 java/lang/Throwable
		// 52 60 63 java/lang/Throwable
		// 281 303 63 java/lang/Throwable
		// 3 8 247 java/lang/Throwable
		// 3 8 275 finally
		// 15 24 275 finally
		// 24 47 275 finally
		// 52 60 275 finally
		// 65 75 275 finally
		// 75 90 275 finally
		// 95 110 275 finally
		// 115 124 275 finally
		// 127 132 275 finally
		// 139 149 275 finally
		// 158 228 275 finally
		// 233 241 275 finally
		// 248 256 275 finally
		// 262 270 275 finally
		// 281 303 275 finally
		// 319 329 275 finally
		// 337 347 275 finally
		// 355 365 275 finally
		// 371 378 275 finally
		// 139 149 317 java/lang/Throwable
		// 95 110 353 java/lang/Throwable
		// 115 124 353 java/lang/Throwable
		// 127 132 353 java/lang/Throwable
		// 158 228 353 java/lang/Throwable
		// 233 241 353 java/lang/Throwable
		// 319 329 353 java/lang/Throwable
		// 337 347 353 java/lang/Throwable
		// 371 378 353 java/lang/Throwable
	}

	/* Error */
	public static final Vector<InetAddress> getBroadcastAdrresses() {
		// Byte code:
		// 0: ldc 2
		// 2: monitorenter
		// 3: getstatic 370 com/dynamixsoftware/printershare/App:bal_cache_dat
		// Ljava/util/Vector;
		// 6: ifnull +34 -> 40
		// 9: invokestatic 374 java/lang/System:currentTimeMillis ()J
		// 12: getstatic 376 com/dynamixsoftware/printershare/App:bal_cache_ts J
		// 15: lsub
		// 16: ldc2_w 377
		// 19: lcmp
		// 20: ifge +20 -> 40
		// 23: getstatic 370 com/dynamixsoftware/printershare/App:bal_cache_dat
		// Ljava/util/Vector;
		// 26: invokevirtual 381 java/util/Vector:clone ()Ljava/lang/Object;
		// 29: checkcast 291 java/util/Vector
		// 32: astore 4
		// 34: ldc 2
		// 36: monitorexit
		// 37: aload 4
		// 39: areturn
		// 40: new 291 java/util/Vector
		// 43: dup
		// 44: invokespecial 292 java/util/Vector:<init> ()V
		// 47: astore_1
		// 48: invokestatic 383
		// com/dynamixsoftware/printershare/App:getActiveNetworkInterfaces
		// ()Ljava/util/Vector;
		// 51: astore_2
		// 52: aload_2
		// 53: ifnull +50 -> 103
		// 56: iconst_0
		// 57: istore 6
		// 59: iload 6
		// 61: aload_2
		// 62: invokevirtual 358 java/util/Vector:size ()I
		// 65: if_icmpge +49 -> 114
		// 68: aload_2
		// 69: iload 6
		// 71: invokevirtual 386 java/util/Vector:get (I)Ljava/lang/Object;
		// 74: checkcast 303
		// com/dynamixsoftware/printershare/App$NetworkInterfaceData
		// 77: astore 7
		// 79: aload 7
		// 81: getfield 390
		// com/dynamixsoftware/printershare/App$NetworkInterfaceData:broadcast
		// Ljava/net/InetAddress;
		// 84: ifnull +13 -> 97
		// 87: aload_1
		// 88: aload 7
		// 90: getfield 390
		// com/dynamixsoftware/printershare/App$NetworkInterfaceData:broadcast
		// Ljava/net/InetAddress;
		// 93: invokevirtual 310 java/util/Vector:add (Ljava/lang/Object;)Z
		// 96: pop
		// 97: iinc 6 1
		// 100: goto -41 -> 59
		// 103: aload_1
		// 104: ldc_w 392
		// 107: invokestatic 397 java/net/InetAddress:getByName
		// (Ljava/lang/String;)Ljava/net/InetAddress;
		// 110: invokevirtual 310 java/util/Vector:add (Ljava/lang/Object;)Z
		// 113: pop
		// 114: aload_1
		// 115: putstatic 370 com/dynamixsoftware/printershare/App:bal_cache_dat
		// Ljava/util/Vector;
		// 118: invokestatic 374 java/lang/System:currentTimeMillis ()J
		// 121: putstatic 376 com/dynamixsoftware/printershare/App:bal_cache_ts
		// J
		// 124: aload_1
		// 125: astore 4
		// 127: goto -93 -> 34
		// 130: astore_3
		// 131: aload_3
		// 132: invokevirtual 398 java/net/UnknownHostException:printStackTrace
		// ()V
		// 135: aload_3
		// 136: invokestatic 148
		// com/dynamixsoftware/printershare/App:reportThrowable
		// (Ljava/lang/Throwable;)V
		// 139: goto -25 -> 114
		// 142: astore_0
		// 143: ldc 2
		// 145: monitorexit
		// 146: aload_0
		// 147: athrow
		// Local variable table:
		// start length slot name signature
		// 142 5 0 localObject1 Object
		// 47 78 1 localVector1 Vector
		// 51 18 2 localVector2 Vector
		// 130 6 3 localUnknownHostException UnknownHostException
		// 32 94 4 localObject2 Object
		// 57 41 6 i int
		// 77 12 7 localNetworkInterfaceData NetworkInterfaceData
		// Exception table:
		// from to target type
		// 103 114 130 java/net/UnknownHostException
		// 3 34 142 finally
		// 40 52 142 finally
		// 59 97 142 finally
		// 103 114 142 finally
		// 114 124 142 finally
		// 131 139 142 finally
	}

	public static String getCPUABI(Context paramContext) {
		String str1 = Build.MODEL;
		localObject = "arm";
		String str2 = getRawCPUABI();
		if (str2.toLowerCase().indexOf("arm") < 0) {
			localObject = "mips";
			if (str2.toLowerCase().indexOf("mips") < 0) {
				localObject = "x86";
			}
		}
		if (("VAP430".equals(str1)) || ("NSZ-GS7/GX70".equals(str1))
				|| ("NX008HI".equals(str1)) || ("NX008HD8".equals(str1))
				|| ("NX008HD8G".equals(str1)) || ("PMP5580C".equals(str1))
				|| ("PMP5770D".equals(str1))) {
			localObject = "arm";
		}
		try {
			if ("qnx".equals(System.getProperty("os.name"))) {
				String str4 = (String) localObject + "_bb";
				localObject = str4;
			}
			String str3;
			return localObject;
		} catch (Exception localException1) {
			for (;;) {
				try {
					if (((Boolean) PackageManager.class.getMethod(
							"hasSystemFeature", new Class[] { String.class })
							.invoke(paramContext.getPackageManager(),
									new Object[] { "com.google.android.tv" }))
							.booleanValue()) {
						str3 = (String) localObject + "_gtv";
						localObject = str3;
					}
					return localObject;
				} catch (Exception localException2) {
					localException2.printStackTrace();
					reportThrowable(localException2);
					return localObject;
				} catch (NoSuchMethodException localNoSuchMethodException) {
				}
				localException1 = localException1;
				localException1.printStackTrace();
				reportThrowable(localException1);
			}
		}
	}

	public static File getFilesDirExt() {
		return getFilesDirExt(null);
	}

	/* Error */
	public static File getFilesDirExt(String paramString) {
		// Byte code:
		// 0: ldc_w 460
		// 3: ldc_w 462
		// 6: invokevirtual 466 java/lang/Class:getField
		// (Ljava/lang/String;)Ljava/lang/reflect/Field;
		// 9: aconst_null
		// 10: invokevirtual 472 java/lang/reflect/Field:getInt
		// (Ljava/lang/Object;)I
		// 13: istore 13
		// 15: iconst_0
		// 16: istore_2
		// 17: iload 13
		// 19: bipush 8
		// 21: if_icmple +5 -> 26
		// 24: iconst_1
		// 25: istore_2
		// 26: aconst_null
		// 27: astore_3
		// 28: iload_2
		// 29: ifeq +55 -> 84
		// 32: ldc_w 438
		// 35: ldc_w 474
		// 38: iconst_1
		// 39: anewarray 113 java/lang/Class
		// 42: dup
		// 43: iconst_0
		// 44: ldc 33
		// 46: aastore
		// 47: invokevirtual 123 java/lang/Class:getMethod
		// (Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method;
		// 50: astore 9
		// 52: getstatic 476 com/dynamixsoftware/printershare/App:self
		// Lcom/dynamixsoftware/printershare/App;
		// 55: astore 10
		// 57: iconst_1
		// 58: anewarray 125 java/lang/Object
		// 61: astore 11
		// 63: aload 11
		// 65: iconst_0
		// 66: aconst_null
		// 67: checkcast 33 java/lang/String
		// 70: aastore
		// 71: aload 9
		// 73: aload 10
		// 75: aload 11
		// 77: invokevirtual 131 java/lang/reflect/Method:invoke
		// (Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
		// 80: checkcast 312 java/io/File
		// 83: astore_3
		// 84: aload_3
		// 85: ifnonnull +121 -> 206
		// 88: new 312 java/io/File
		// 91: dup
		// 92: new 182 java/lang/StringBuilder
		// 95: dup
		// 96: invokespecial 183 java/lang/StringBuilder:<init> ()V
		// 99: getstatic 478
		// com/dynamixsoftware/printershare/App:ext_storage_root
		// Ljava/lang/String;
		// 102: invokevirtual 187 java/lang/StringBuilder:append
		// (Ljava/lang/String;)Ljava/lang/StringBuilder;
		// 105: ldc_w 480
		// 108: invokevirtual 187 java/lang/StringBuilder:append
		// (Ljava/lang/String;)Ljava/lang/StringBuilder;
		// 111: invokevirtual 195 java/lang/StringBuilder:toString
		// ()Ljava/lang/String;
		// 114: invokespecial 317 java/io/File:<init> (Ljava/lang/String;)V
		// 117: astore 4
		// 119: aload_0
		// 120: ifnull +79 -> 199
		// 123: new 312 java/io/File
		// 126: dup
		// 127: aload 4
		// 129: aload_0
		// 130: invokespecial 483 java/io/File:<init>
		// (Ljava/io/File;Ljava/lang/String;)V
		// 133: astore 5
		// 135: aload 5
		// 137: invokevirtual 320 java/io/File:exists ()Z
		// 140: ifne +9 -> 149
		// 143: aload 5
		// 145: invokevirtual 486 java/io/File:mkdirs ()Z
		// 148: pop
		// 149: aload 5
		// 151: areturn
		// 152: astore 12
		// 154: aload 12
		// 156: invokevirtual 144 java/lang/Exception:printStackTrace ()V
		// 159: aload 12
		// 161: invokestatic 148
		// com/dynamixsoftware/printershare/App:reportThrowable
		// (Ljava/lang/Throwable;)V
		// 164: iconst_0
		// 165: istore_2
		// 166: goto -140 -> 26
		// 169: astore 8
		// 171: aload 8
		// 173: invokevirtual 144 java/lang/Exception:printStackTrace ()V
		// 176: aload 8
		// 178: invokestatic 148
		// com/dynamixsoftware/printershare/App:reportThrowable
		// (Ljava/lang/Throwable;)V
		// 181: aconst_null
		// 182: astore_3
		// 183: goto -99 -> 84
		// 186: astore 7
		// 188: aconst_null
		// 189: astore_3
		// 190: goto -106 -> 84
		// 193: astore_1
		// 194: iconst_0
		// 195: istore_2
		// 196: goto -170 -> 26
		// 199: aload 4
		// 201: astore 5
		// 203: goto -68 -> 135
		// 206: aload_3
		// 207: astore 4
		// 209: goto -90 -> 119
		// Local variable table:
		// start length slot name signature
		// 0 212 0 paramString String
		// 193 1 1 localNoSuchFieldException NoSuchFieldException
		// 16 180 2 i int
		// 27 180 3 localFile1 File
		// 117 91 4 localFile2 File
		// 133 69 5 localFile3 File
		// 186 1 7 localNoSuchMethodException NoSuchMethodException
		// 169 8 8 localException1 Exception
		// 50 22 9 localMethod Method
		// 55 19 10 localApp App
		// 61 15 11 arrayOfObject Object[]
		// 152 8 12 localException2 Exception
		// 13 9 13 j int
		// Exception table:
		// from to target type
		// 0 15 152 java/lang/Exception
		// 32 84 169 java/lang/Exception
		// 32 84 186 java/lang/NoSuchMethodException
		// 0 15 193 java/lang/NoSuchFieldException
	}

	public static File getFilesDirInt() {
		return getFilesDirInt(null);
	}

	public static File getFilesDirInt(String paramString) {
		File localFile = self.getFilesDir();
		if (paramString != null) {
			localFile = new File(localFile, paramString);
		}
		if (!localFile.exists()) {
			localFile.mkdirs();
		}
		return localFile;
	}

	public static String getFullModelName(String paramString1,
			String paramString2) {
		if ((paramString1 != null) && (paramString1.startsWith("("))
				&& (paramString1.endsWith(")"))) {
			paramString1 = paramString1
					.substring(1, -1 + paramString1.length()).trim();
		}
		if ((paramString2 != null) && (paramString2.startsWith("("))
				&& (paramString2.endsWith(")"))) {
			paramString2 = paramString2
					.substring(1, -1 + paramString2.length()).trim();
		}
		String str = paramString1;
		if (paramString2 != null) {
			if (str == null) {
				break label113;
			}
		}
		label113: for (str = str + " " + paramString2;; str = paramString2) {
			return clearPrinterModelName(str);
		}
	}

	public static String getRawCPUABI() {
		try {
			String str = (String) Build.class.getField("CPU_ABI").get(null);
			if (str != null) {
				return str;
			}
		} catch (Exception localException) {
			localException.printStackTrace();
			reportThrowable(localException);
			return "arm";
		} catch (NoSuchFieldException localNoSuchFieldException) {
			label32: break label32;
		}
	}

	/* Error */
	public static File getTempDir() {
		// Byte code:
		// 0: ldc_w 460
		// 3: ldc_w 462
		// 6: invokevirtual 466 java/lang/Class:getField
		// (Ljava/lang/String;)Ljava/lang/reflect/Field;
		// 9: aconst_null
		// 10: invokevirtual 472 java/lang/reflect/Field:getInt
		// (Ljava/lang/Object;)I
		// 13: istore 7
		// 15: iconst_0
		// 16: istore_1
		// 17: iload 7
		// 19: bipush 8
		// 21: if_icmple +5 -> 26
		// 24: iconst_1
		// 25: istore_1
		// 26: aconst_null
		// 27: astore_2
		// 28: iload_1
		// 29: ifeq +30 -> 59
		// 32: ldc_w 438
		// 35: ldc_w 504
		// 38: iconst_0
		// 39: anewarray 113 java/lang/Class
		// 42: invokevirtual 123 java/lang/Class:getMethod
		// (Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method;
		// 45: getstatic 476 com/dynamixsoftware/printershare/App:self
		// Lcom/dynamixsoftware/printershare/App;
		// 48: iconst_0
		// 49: anewarray 125 java/lang/Object
		// 52: invokevirtual 131 java/lang/reflect/Method:invoke
		// (Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
		// 55: checkcast 312 java/io/File
		// 58: astore_2
		// 59: aload_2
		// 60: ifnonnull +33 -> 93
		// 63: new 312 java/io/File
		// 66: dup
		// 67: new 182 java/lang/StringBuilder
		// 70: dup
		// 71: invokespecial 183 java/lang/StringBuilder:<init> ()V
		// 74: getstatic 478
		// com/dynamixsoftware/printershare/App:ext_storage_root
		// Ljava/lang/String;
		// 77: invokevirtual 187 java/lang/StringBuilder:append
		// (Ljava/lang/String;)Ljava/lang/StringBuilder;
		// 80: ldc_w 506
		// 83: invokevirtual 187 java/lang/StringBuilder:append
		// (Ljava/lang/String;)Ljava/lang/StringBuilder;
		// 86: invokevirtual 195 java/lang/StringBuilder:toString
		// ()Ljava/lang/String;
		// 89: invokespecial 317 java/io/File:<init> (Ljava/lang/String;)V
		// 92: astore_2
		// 93: aload_2
		// 94: invokevirtual 320 java/io/File:exists ()Z
		// 97: ifne +8 -> 105
		// 100: aload_2
		// 101: invokevirtual 486 java/io/File:mkdirs ()Z
		// 104: pop
		// 105: aload_2
		// 106: areturn
		// 107: astore 6
		// 109: aload 6
		// 111: invokevirtual 144 java/lang/Exception:printStackTrace ()V
		// 114: aload 6
		// 116: invokestatic 148
		// com/dynamixsoftware/printershare/App:reportThrowable
		// (Ljava/lang/Throwable;)V
		// 119: iconst_0
		// 120: istore_1
		// 121: goto -95 -> 26
		// 124: astore 5
		// 126: aload 5
		// 128: invokevirtual 144 java/lang/Exception:printStackTrace ()V
		// 131: aload 5
		// 133: invokestatic 148
		// com/dynamixsoftware/printershare/App:reportThrowable
		// (Ljava/lang/Throwable;)V
		// 136: aconst_null
		// 137: astore_2
		// 138: goto -79 -> 59
		// 141: astore 4
		// 143: aconst_null
		// 144: astore_2
		// 145: goto -86 -> 59
		// 148: astore_0
		// 149: iconst_0
		// 150: istore_1
		// 151: goto -125 -> 26
		// Local variable table:
		// start length slot name signature
		// 148 1 0 localNoSuchFieldException NoSuchFieldException
		// 16 135 1 i int
		// 27 118 2 localFile File
		// 141 1 4 localNoSuchMethodException NoSuchMethodException
		// 124 8 5 localException1 Exception
		// 107 8 6 localException2 Exception
		// 13 9 7 j int
		// Exception table:
		// from to target type
		// 0 15 107 java/lang/Exception
		// 32 59 124 java/lang/Exception
		// 32 59 141 java/lang/NoSuchMethodException
		// 0 15 148 java/lang/NoSuchFieldException
	}

	public static String getUserAgent() {
		return "PS4Android " + getVersion();
	}

	public static String getVersion() {
		try {
			String str = self.getPackageManager().getPackageInfo(
					self.getPackageName(), 0).versionName;
			return str;
		} catch (Exception localException) {
			localException.printStackTrace();
			reportThrowable(localException);
		}
		return "";
	}

	public static String glsGetAuthToken(String paramString1,
			String paramString2, String paramString3) throws IOException {
		HttpURLConnection localHttpURLConnection = (HttpURLConnection) new URL(
				"https://www.google.com/accounts/ClientLogin").openConnection();
		localHttpURLConnection.setConnectTimeout(15000);
		localHttpURLConnection.setReadTimeout(15000);
		localHttpURLConnection.setUseCaches(false);
		localHttpURLConnection.setDoInput(true);
		localHttpURLConnection.setDoOutput(true);
		localHttpURLConnection.setRequestMethod("POST");
		localHttpURLConnection.setRequestProperty("Content-type",
				"application/x-www-form-urlencoded");
		localHttpURLConnection.getOutputStream().write(
				("accountType=HOSTED_OR_GOOGLE&Email="
						+ URLEncoder.encode(paramString2) + "&Passwd="
						+ URLEncoder.encode(paramString3) + "&service="
						+ paramString1 + "&source=" + URLEncoder
						.encode(getUserAgent())).getBytes());
		if (localHttpURLConnection.getResponseCode() == 200) {
			DataInputStream localDataInputStream = new DataInputStream(
					localHttpURLConnection.getInputStream());
			String str;
			do {
				str = localDataInputStream.readLine();
				if (str == null) {
					break;
				}
			} while (!str.startsWith("Auth="));
			return str.substring(5);
		}
		return null;
	}

	public static final Paint newPaint() {
		Paint localPaint = new Paint();
		localPaint.setAntiAlias(false);
		localPaint.setLinearText(true);
		localPaint.setSubpixelText(true);
		localPaint.setFilterBitmap(true);
		localPaint.setDither(false);
		return localPaint;
	}

	public static final void reportThrowable(Throwable paramThrowable) {
		reportThrowable(paramThrowable, null);
	}

	public static final void reportThrowable(Throwable paramThrowable,
			String paramString) {
		UEH.reportThrowable(paramThrowable, paramString);
	}

	/* Error */
	public void onCreate() {
		// Byte code:
		// 0: aload_0
		// 1: invokespecial 637 android/app/Application:onCreate ()V
		// 4: aload_0
		// 5: putstatic 476 com/dynamixsoftware/printershare/App:self
		// Lcom/dynamixsoftware/printershare/App;
		// 8: aload_0
		// 9: invokevirtual 516
		// com/dynamixsoftware/printershare/App:getPackageName
		// ()Ljava/lang/String;
		// 12: ldc_w 639
		// 15: invokevirtual 161 java/lang/String:endsWith (Ljava/lang/String;)Z
		// 18: putstatic 641 com/dynamixsoftware/printershare/App:is_dev Z
		// 21: iconst_0
		// 22: invokestatic 646 com/flurry/android/FlurryAgent:setLogEnabled
		// (Z)V
		// 25: iconst_0
		// 26: invokestatic 649
		// com/flurry/android/FlurryAgent:setCaptureUncaughtExceptions (Z)V
		// 29: getstatic 641 com/dynamixsoftware/printershare/App:is_dev Z
		// 32: ifeq +624 -> 656
		// 35: ldc2_w 650
		// 38: lstore_1
		// 39: aload_0
		// 40: lload_1
		// 41: invokestatic 655 com/dynamixsoftware/UEH:init
		// (Landroid/content/Context;J)V
		// 44: ldc 111
		// 46: invokestatic 117 java/lang/Class:forName
		// (Ljava/lang/String;)Ljava/lang/Class;
		// 49: astore 34
		// 51: aload 34
		// 53: astore 4
		// 55: aload 4
		// 57: ifnull +75 -> 132
		// 60: aload 4
		// 62: ldc 119
		// 64: iconst_0
		// 65: anewarray 113 java/lang/Class
		// 68: invokevirtual 123 java/lang/Class:getMethod
		// (Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method;
		// 71: aconst_null
		// 72: iconst_0
		// 73: anewarray 125 java/lang/Object
		// 76: invokevirtual 131 java/lang/reflect/Method:invoke
		// (Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
		// 79: astore 29
		// 81: iconst_1
		// 82: anewarray 113 java/lang/Class
		// 85: astore 30
		// 87: aload 30
		// 89: iconst_0
		// 90: getstatic 139 java/lang/Long:TYPE Ljava/lang/Class;
		// 93: aastore
		// 94: aload 4
		// 96: ldc_w 657
		// 99: aload 30
		// 101: invokevirtual 123 java/lang/Class:getMethod
		// (Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method;
		// 104: astore 31
		// 106: iconst_1
		// 107: anewarray 125 java/lang/Object
		// 110: astore 32
		// 112: aload 32
		// 114: iconst_0
		// 115: ldc_w 658
		// 118: invokestatic 664 java/lang/Integer:valueOf
		// (I)Ljava/lang/Integer;
		// 121: aastore
		// 122: aload 31
		// 124: aload 29
		// 126: aload 32
		// 128: invokevirtual 131 java/lang/reflect/Method:invoke
		// (Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
		// 131: pop
		// 132: invokestatic 669
		// android/os/Environment:getExternalStorageDirectory ()Ljava/io/File;
		// 135: astore 5
		// 137: aload 5
		// 139: invokevirtual 320 java/io/File:exists ()Z
		// 142: ifeq +536 -> 678
		// 145: aload 5
		// 147: invokevirtual 672 java/io/File:isDirectory ()Z
		// 150: ifeq +528 -> 678
		// 153: aload 5
		// 155: invokevirtual 675 java/io/File:canRead ()Z
		// 158: ifeq +520 -> 678
		// 161: aload 5
		// 163: invokevirtual 678 java/io/File:canWrite ()Z
		// 166: ifeq +512 -> 678
		// 169: aload 5
		// 171: invokevirtual 681 java/io/File:getAbsolutePath
		// ()Ljava/lang/String;
		// 174: putstatic 478
		// com/dynamixsoftware/printershare/App:ext_storage_root
		// Ljava/lang/String;
		// 177: ldc_w 683
		// 180: invokestatic 689 javax/net/ssl/SSLContext:getInstance
		// (Ljava/lang/String;)Ljavax/net/ssl/SSLContext;
		// 183: astore 26
		// 185: iconst_1
		// 186: anewarray 691 javax/net/ssl/TrustManager
		// 189: astore 27
		// 191: aload 27
		// 193: iconst_0
		// 194: new 693 com/dynamixsoftware/printershare/App$MyTrustManager
		// 197: dup
		// 198: invokespecial 694
		// com/dynamixsoftware/printershare/App$MyTrustManager:<init> ()V
		// 201: aastore
		// 202: aload 26
		// 204: aconst_null
		// 205: aload 27
		// 207: aconst_null
		// 208: invokevirtual 697 javax/net/ssl/SSLContext:init
		// ([Ljavax/net/ssl/KeyManager;[Ljavax/net/ssl/TrustManager;Ljava/security/SecureRandom;)V
		// 211: aload 26
		// 213: invokevirtual 701 javax/net/ssl/SSLContext:getSocketFactory
		// ()Ljavax/net/ssl/SSLSocketFactory;
		// 216: invokestatic 707
		// javax/net/ssl/HttpsURLConnection:setDefaultSSLSocketFactory
		// (Ljavax/net/ssl/SSLSocketFactory;)V
		// 219: new 709 com/dynamixsoftware/printershare/App$MyHostnameVerifier
		// 222: dup
		// 223: invokespecial 710
		// com/dynamixsoftware/printershare/App$MyHostnameVerifier:<init> ()V
		// 226: invokestatic 714
		// javax/net/ssl/HttpsURLConnection:setDefaultHostnameVerifier
		// (Ljavax/net/ssl/HostnameVerifier;)V
		// 229: aload_0
		// 230: invokestatic 719 com/android/mms/layout/LayoutManager:init
		// (Landroid/content/Context;)V
		// 233: aload_0
		// 234: invokevirtual 723
		// com/dynamixsoftware/printershare/App:getResources
		// ()Landroid/content/res/Resources;
		// 237: astore 7
		// 239: aload 7
		// 241: invokevirtual 729 android/content/res/Resources:getConfiguration
		// ()Landroid/content/res/Configuration;
		// 244: astore 8
		// 246: ldc_w 731
		// 249: aload 8
		// 251: getfield 737 android/content/res/Configuration:locale
		// Ljava/util/Locale;
		// 254: invokevirtual 742 java/util/Locale:getLanguage
		// ()Ljava/lang/String;
		// 257: invokevirtual 204 java/lang/String:equals (Ljava/lang/Object;)Z
		// 260: ifeq +30 -> 290
		// 263: aload 8
		// 265: new 739 java/util/Locale
		// 268: dup
		// 269: ldc_w 744
		// 272: invokespecial 745 java/util/Locale:<init> (Ljava/lang/String;)V
		// 275: putfield 737 android/content/res/Configuration:locale
		// Ljava/util/Locale;
		// 278: aload 7
		// 280: aload 8
		// 282: aload 7
		// 284: invokevirtual 749
		// android/content/res/Resources:getDisplayMetrics
		// ()Landroid/util/DisplayMetrics;
		// 287: invokevirtual 753
		// android/content/res/Resources:updateConfiguration
		// (Landroid/content/res/Configuration;Landroid/util/DisplayMetrics;)V
		// 290: aload_0
		// 291: invokevirtual 757
		// com/dynamixsoftware/printershare/App:getApplicationContext
		// ()Landroid/content/Context;
		// 294: astore 9
		// 296: iconst_1
		// 297: putstatic 759
		// com/dynamixsoftware/printershare/App:has_feature_call_log Z
		// 300: aload 9
		// 302: invokevirtual 763 android/content/Context:getContentResolver
		// ()Landroid/content/ContentResolver;
		// 305: getstatic 769 android/provider/CallLog$Calls:CONTENT_URI
		// Landroid/net/Uri;
		// 308: invokevirtual 775 android/content/ContentResolver:getType
		// (Landroid/net/Uri;)Ljava/lang/String;
		// 311: ifnonnull +7 -> 318
		// 314: iconst_0
		// 315: putstatic 777
		// com/dynamixsoftware/printershare/App:has_feature_messages Z
		// 318: aload 9
		// 320: ldc_w 779
		// 323: invokevirtual 783 android/content/Context:getSystemService
		// (Ljava/lang/String;)Ljava/lang/Object;
		// 326: checkcast 785 android/telephony/TelephonyManager
		// 329: astore 25
		// 331: aload 25
		// 333: ifnull +15 -> 348
		// 336: aload 25
		// 338: invokevirtual 788
		// android/telephony/TelephonyManager:getPhoneType ()I
		// 341: ifne +7 -> 348
		// 344: iconst_0
		// 345: putstatic 759
		// com/dynamixsoftware/printershare/App:has_feature_call_log Z
		// 348: iconst_1
		// 349: putstatic 777
		// com/dynamixsoftware/printershare/App:has_feature_messages Z
		// 352: aload 9
		// 354: invokevirtual 763 android/content/Context:getContentResolver
		// ()Landroid/content/ContentResolver;
		// 357: ldc_w 790
		// 360: invokestatic 796 android/net/Uri:parse
		// (Ljava/lang/String;)Landroid/net/Uri;
		// 363: invokevirtual 775 android/content/ContentResolver:getType
		// (Landroid/net/Uri;)Ljava/lang/String;
		// 366: ifnonnull +7 -> 373
		// 369: iconst_0
		// 370: putstatic 777
		// com/dynamixsoftware/printershare/App:has_feature_messages Z
		// 373: aload 9
		// 375: ldc_w 798
		// 378: invokevirtual 783 android/content/Context:getSystemService
		// (Ljava/lang/String;)Ljava/lang/Object;
		// 381: checkcast 800 android/net/ConnectivityManager
		// 384: astore 24
		// 386: aload 24
		// 388: ifnull +16 -> 404
		// 391: aload 24
		// 393: iconst_0
		// 394: invokevirtual 804 android/net/ConnectivityManager:getNetworkInfo
		// (I)Landroid/net/NetworkInfo;
		// 397: ifnonnull +7 -> 404
		// 400: iconst_0
		// 401: putstatic 777
		// com/dynamixsoftware/printershare/App:has_feature_messages Z
		// 404: ldc_w 806
		// 407: ldc_w 808
		// 410: invokestatic 812 android/os/SystemProperties:get
		// (Ljava/lang/String;)Ljava/lang/String;
		// 413: invokevirtual 204 java/lang/String:equals (Ljava/lang/Object;)Z
		// 416: ifeq +7 -> 423
		// 419: iconst_0
		// 420: putstatic 777
		// com/dynamixsoftware/printershare/App:has_feature_messages Z
		// 423: iconst_0
		// 424: putstatic 814
		// com/dynamixsoftware/printershare/App:has_feature_bluetooth Z
		// 427: aload 9
		// 429: invokestatic 820
		// com/dynamixsoftware/printershare/bt/BTAdapter:getDefault
		// (Landroid/content/Context;)Lcom/dynamixsoftware/printershare/bt/BTAdapter;
		// 432: ifnull +7 -> 439
		// 435: iconst_1
		// 436: putstatic 814
		// com/dynamixsoftware/printershare/App:has_feature_bluetooth Z
		// 439: iconst_0
		// 440: putstatic 822
		// com/dynamixsoftware/printershare/App:has_feature_usb Z
		// 443: aload 9
		// 445: ldc_w 824
		// 448: invokevirtual 783 android/content/Context:getSystemService
		// (Ljava/lang/String;)Ljava/lang/Object;
		// 451: ifnull +26 -> 477
		// 454: ldc_w 826
		// 457: invokestatic 117 java/lang/Class:forName
		// (Ljava/lang/String;)Ljava/lang/Class;
		// 460: ldc_w 828
		// 463: iconst_0
		// 464: anewarray 113 java/lang/Class
		// 467: invokevirtual 123 java/lang/Class:getMethod
		// (Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method;
		// 470: ifnull +7 -> 477
		// 473: iconst_1
		// 474: putstatic 822
		// com/dynamixsoftware/printershare/App:has_feature_usb Z
		// 477: iconst_0
		// 478: putstatic 830
		// com/dynamixsoftware/printershare/App:has_feature_gls Z
		// 481: aload 9
		// 483: ldc_w 832
		// 486: invokevirtual 783 android/content/Context:getSystemService
		// (Ljava/lang/String;)Ljava/lang/Object;
		// 489: ifnull +273 -> 762
		// 492: iconst_1
		// 493: putstatic 830
		// com/dynamixsoftware/printershare/App:has_feature_gls Z
		// 496: ldc_w 834
		// 499: getstatic 837 android/os/Build:BRAND Ljava/lang/String;
		// 502: invokevirtual 840 java/lang/String:equalsIgnoreCase
		// (Ljava/lang/String;)Z
		// 505: ifeq +31 -> 536
		// 508: getstatic 407 android/os/Build:MODEL Ljava/lang/String;
		// 511: ldc_w 842
		// 514: invokevirtual 156 java/lang/String:startsWith
		// (Ljava/lang/String;)Z
		// 517: ifne +15 -> 532
		// 520: ldc_w 844
		// 523: getstatic 407 android/os/Build:MODEL Ljava/lang/String;
		// 526: invokevirtual 840 java/lang/String:equalsIgnoreCase
		// (Ljava/lang/String;)Z
		// 529: ifeq +7 -> 536
		// 532: iconst_0
		// 533: putstatic 830
		// com/dynamixsoftware/printershare/App:has_feature_gls Z
		// 536: ldc_w 360
		// 539: ldc_w 362
		// 542: invokestatic 365 java/lang/System:getProperty
		// (Ljava/lang/String;)Ljava/lang/String;
		// 545: invokevirtual 204 java/lang/String:equals (Ljava/lang/Object;)Z
		// 548: ifeq +19 -> 567
		// 551: iconst_0
		// 552: putstatic 759
		// com/dynamixsoftware/printershare/App:has_feature_call_log Z
		// 555: iconst_0
		// 556: putstatic 777
		// com/dynamixsoftware/printershare/App:has_feature_messages Z
		// 559: iconst_0
		// 560: putstatic 830
		// com/dynamixsoftware/printershare/App:has_feature_gls Z
		// 563: iconst_0
		// 564: putstatic 814
		// com/dynamixsoftware/printershare/App:has_feature_bluetooth Z
		// 567: aload_0
		// 568: invokevirtual 492
		// com/dynamixsoftware/printershare/App:getFilesDir ()Ljava/io/File;
		// 571: astore 15
		// 573: iconst_5
		// 574: anewarray 33 java/lang/String
		// 577: dup
		// 578: iconst_0
		// 579: ldc_w 846
		// 582: aastore
		// 583: dup
		// 584: iconst_1
		// 585: ldc_w 848
		// 588: aastore
		// 589: dup
		// 590: iconst_2
		// 591: ldc_w 850
		// 594: aastore
		// 595: dup
		// 596: iconst_3
		// 597: ldc_w 852
		// 600: aastore
		// 601: dup
		// 602: iconst_4
		// 603: ldc_w 854
		// 606: aastore
		// 607: astore 16
		// 609: iconst_0
		// 610: istore 17
		// 612: iload 17
		// 614: aload 16
		// 616: arraylength
		// 617: if_icmpge +194 -> 811
		// 620: new 312 java/io/File
		// 623: dup
		// 624: aload 15
		// 626: aload 16
		// 628: iload 17
		// 630: aaload
		// 631: invokespecial 483 java/io/File:<init>
		// (Ljava/io/File;Ljava/lang/String;)V
		// 634: astore 18
		// 636: aload 18
		// 638: invokevirtual 320 java/io/File:exists ()Z
		// 641: ifeq +9 -> 650
		// 644: aload 18
		// 646: invokevirtual 857 java/io/File:delete ()Z
		// 649: pop
		// 650: iinc 17 1
		// 653: goto -41 -> 612
		// 656: ldc2_w 858
		// 659: lstore_1
		// 660: goto -621 -> 39
		// 663: astore 28
		// 665: aload 28
		// 667: invokevirtual 144 java/lang/Exception:printStackTrace ()V
		// 670: aload 28
		// 672: invokestatic 148
		// com/dynamixsoftware/printershare/App:reportThrowable
		// (Ljava/lang/Throwable;)V
		// 675: goto -543 -> 132
		// 678: ldc_w 861
		// 681: putstatic 478
		// com/dynamixsoftware/printershare/App:ext_storage_root
		// Ljava/lang/String;
		// 684: goto -507 -> 177
		// 687: astore 6
		// 689: aload 6
		// 691: invokevirtual 144 java/lang/Exception:printStackTrace ()V
		// 694: aload 6
		// 696: invokestatic 148
		// com/dynamixsoftware/printershare/App:reportThrowable
		// (Ljava/lang/Throwable;)V
		// 699: goto -470 -> 229
		// 702: astore 10
		// 704: aload 10
		// 706: invokevirtual 144 java/lang/Exception:printStackTrace ()V
		// 709: aload 10
		// 711: invokestatic 148
		// com/dynamixsoftware/printershare/App:reportThrowable
		// (Ljava/lang/Throwable;)V
		// 714: goto -366 -> 348
		// 717: astore 11
		// 719: aload 11
		// 721: invokevirtual 144 java/lang/Exception:printStackTrace ()V
		// 724: aload 11
		// 726: invokestatic 148
		// com/dynamixsoftware/printershare/App:reportThrowable
		// (Ljava/lang/Throwable;)V
		// 729: goto -306 -> 423
		// 732: astore 12
		// 734: aload 12
		// 736: invokevirtual 263 java/lang/Throwable:printStackTrace ()V
		// 739: aload 12
		// 741: invokestatic 148
		// com/dynamixsoftware/printershare/App:reportThrowable
		// (Ljava/lang/Throwable;)V
		// 744: goto -305 -> 439
		// 747: astore 23
		// 749: aload 23
		// 751: invokevirtual 144 java/lang/Exception:printStackTrace ()V
		// 754: aload 23
		// 756: invokestatic 148
		// com/dynamixsoftware/printershare/App:reportThrowable
		// (Ljava/lang/Throwable;)V
		// 759: goto -282 -> 477
		// 762: getstatic 867
		// com/google/android/googlelogin/GoogleLoginServiceConstants:SERVICE_INTENT
		// Landroid/content/Intent;
		// 765: astore 20
		// 767: new 869 com/dynamixsoftware/printershare/App$1
		// 770: dup
		// 771: aload_0
		// 772: invokespecial 872 com/dynamixsoftware/printershare/App$1:<init>
		// (Lcom/dynamixsoftware/printershare/App;)V
		// 775: astore 21
		// 777: aload_0
		// 778: aload 20
		// 780: aload 21
		// 782: iconst_1
		// 783: invokevirtual 876
		// com/dynamixsoftware/printershare/App:bindService
		// (Landroid/content/Intent;Landroid/content/ServiceConnection;I)Z
		// 786: ifeq -290 -> 496
		// 789: iconst_1
		// 790: putstatic 830
		// com/dynamixsoftware/printershare/App:has_feature_gls Z
		// 793: goto -297 -> 496
		// 796: astore 14
		// 798: aload 14
		// 800: invokevirtual 144 java/lang/Exception:printStackTrace ()V
		// 803: aload 14
		// 805: invokestatic 148
		// com/dynamixsoftware/printershare/App:reportThrowable
		// (Ljava/lang/Throwable;)V
		// 808: goto -272 -> 536
		// 811: return
		// 812: astore 22
		// 814: goto -337 -> 477
		// 817: astore 13
		// 819: goto -342 -> 477
		// 822: astore_3
		// 823: aconst_null
		// 824: astore 4
		// 826: goto -771 -> 55
		// Local variable table:
		// start length slot name signature
		// 0 829 0 this App
		// 38 622 1 l long
		// 822 1 3 localClassNotFoundException1 ClassNotFoundException
		// 53 772 4 localClass1 Class
		// 135 35 5 localFile1 File
		// 687 8 6 localException1 Exception
		// 237 46 7 localResources android.content.res.Resources
		// 244 37 8 localConfiguration android.content.res.Configuration
		// 294 188 9 localContext Context
		// 702 8 10 localException2 Exception
		// 717 8 11 localException3 Exception
		// 732 8 12 localThrowable Throwable
		// 817 1 13 localClassNotFoundException2 ClassNotFoundException
		// 796 8 14 localException4 Exception
		// 571 54 15 localFile2 File
		// 607 20 16 arrayOfString String[]
		// 610 41 17 i int
		// 634 11 18 localFile3 File
		// 765 14 20 localIntent android.content.Intent
		// 775 6 21 local1 1
		// 812 1 22 localNoSuchMethodException NoSuchMethodException
		// 747 8 23 localException5 Exception
		// 384 8 24 localConnectivityManager android.net.ConnectivityManager
		// 329 8 25 localTelephonyManager android.telephony.TelephonyManager
		// 183 29 26 localSSLContext javax.net.ssl.SSLContext
		// 189 17 27 arrayOfTrustManager javax.net.ssl.TrustManager[]
		// 663 8 28 localException6 Exception
		// 79 46 29 localObject Object
		// 85 15 30 arrayOfClass Class[]
		// 104 19 31 localMethod Method
		// 110 17 32 arrayOfObject Object[]
		// 49 3 34 localClass2 Class
		// Exception table:
		// from to target type
		// 60 132 663 java/lang/Exception
		// 177 229 687 java/lang/Exception
		// 300 318 702 java/lang/Exception
		// 318 331 702 java/lang/Exception
		// 336 348 702 java/lang/Exception
		// 352 373 717 java/lang/Exception
		// 373 386 717 java/lang/Exception
		// 391 404 717 java/lang/Exception
		// 404 423 717 java/lang/Exception
		// 427 439 732 java/lang/Throwable
		// 443 477 747 java/lang/Exception
		// 481 496 796 java/lang/Exception
		// 496 532 796 java/lang/Exception
		// 532 536 796 java/lang/Exception
		// 762 793 796 java/lang/Exception
		// 443 477 812 java/lang/NoSuchMethodException
		// 443 477 817 java/lang/ClassNotFoundException
		// 44 51 822 java/lang/ClassNotFoundException
	}

	public void onLowMemory() {
		super.onLowMemory();
		freeMem();
	}

	static class MyHostnameVerifier implements HostnameVerifier {
		public boolean verify(String paramString, SSLSession paramSSLSession) {
			return true;
		}
	}

	static class MyTrustManager implements X509TrustManager {
		public void checkClientTrusted(
				X509Certificate[] paramArrayOfX509Certificate,
				String paramString) {
		}

		public void checkServerTrusted(
				X509Certificate[] paramArrayOfX509Certificate,
				String paramString) {
		}

		public X509Certificate[] getAcceptedIssuers() {
			return null;
		}
	}

	public static final class NetworkInterfaceData {
		public final InetAddress broadcast;
		public final NetworkInterface iface;
		public final InetAddress ip;
		public final boolean is_multicast;
		public final InetAddress mask;

		private NetworkInterfaceData(String paramString1, String paramString2, InetAddress paramInetAddress1, InetAddress paramInetAddress2, InetAddress paramInetAddress3, boolean paramBoolean)
    {
      localNetworkInterface = null;
      if (paramString2 != null) {}
      for (;;)
      {
        try
        {
          i = Integer.parseInt(paramString2);
          arrayOfConstructor = NetworkInterface.class.getDeclaredConstructors();
          j = 0;
          int k = arrayOfConstructor.length;
          localNetworkInterface = null;
          if (j < k)
          {
            arrayOfClass = arrayOfConstructor[j].getParameterTypes();
            if ((arrayOfClass.length != 4) || (!Integer.TYPE.equals(arrayOfClass[1]))) {
              continue;
            }
            arrayOfConstructor[j].setAccessible(true);
            ArrayList localArrayList = new ArrayList();
            localArrayList.add(paramInetAddress1);
            Constructor localConstructor2 = arrayOfConstructor[j];
            Object[] arrayOfObject2 = new Object[4];
            arrayOfObject2[0] = paramString1;
            arrayOfObject2[1] = Integer.valueOf(i);
            arrayOfObject2[2] = localArrayList;
            arrayOfObject2[3] = null;
            localNetworkInterface = (NetworkInterface)localConstructor2.newInstance(arrayOfObject2);
          }
        }
        catch (Exception localException)
        {
          int i;
          Constructor[] arrayOfConstructor;
          int j;
          Class[] arrayOfClass;
          Constructor localConstructor1;
          Object[] arrayOfObject1;
          localException.printStackTrace();
          App.reportThrowable(localException);
          localNetworkInterface = null;
          continue;
        }
        this.iface = localNetworkInterface;
        this.ip = paramInetAddress1;
        this.mask = paramInetAddress2;
        this.broadcast = paramInetAddress3;
        this.is_multicast = paramBoolean;
        return;
        if ((arrayOfClass.length == 4) && (Integer.TYPE.equals(arrayOfClass[3])))
        {
          arrayOfConstructor[j].setAccessible(true);
          localConstructor1 = arrayOfConstructor[j];
          arrayOfObject1 = new Object[4];
          arrayOfObject1[0] = paramString1;
          arrayOfObject1[1] = paramString1;
          arrayOfObject1[2] = { paramInetAddress1 };
          arrayOfObject1[3] = Integer.valueOf(i);
          localNetworkInterface = (NetworkInterface)localConstructor1.newInstance(arrayOfObject1);
        }
        else
        {
          j++;
        }
      }
    }

		private NetworkInterfaceData(NetworkInterface paramNetworkInterface,
				InetAddress paramInetAddress1, InetAddress paramInetAddress2,
				InetAddress paramInetAddress3, boolean paramBoolean) {
			this.iface = paramNetworkInterface;
			this.ip = paramInetAddress1;
			this.mask = paramInetAddress2;
			this.broadcast = paramInetAddress3;
			this.is_multicast = paramBoolean;
		}

		static final NetworkInterfaceData getIfActive(String paramString1,
				String paramString2) {
			return getIfActiveFromIfconfig(paramString1, paramString2, null);
		}

		static final NetworkInterfaceData getIfActive(
				NetworkInterface paramNetworkInterface) {
			try {
				int j = Build.VERSION.class.getField("SDK_INT").getInt(null);
				i = 0;
				if (j >= 9) {
					i = 1;
				}
			} catch (Exception localException) {
				for (;;) {
					try {
						final NetworkInterfaceData[] arrayOfNetworkInterfaceData = new NetworkInterfaceData[1];
						new Object() {
						};
						NetworkInterfaceData localNetworkInterfaceData = arrayOfNetworkInterfaceData[0];
						return localNetworkInterfaceData;
					} catch (Throwable localThrowable) {
						localThrowable.printStackTrace();
						App.reportThrowable(localThrowable);
					}
					localException = localException;
					localException.printStackTrace();
					App.reportThrowable(localException);
					i = 0;
				}
				return getIfActiveFromIfconfig(paramNetworkInterface.getName(),
						null, paramNetworkInterface);
			} catch (NoSuchFieldException localNoSuchFieldException) {
				for (;;) {
					int i = 0;
				}
			}
			if (i == 0) {
			}
		}

		private static final NetworkInterfaceData getIfActiveFromIfconfig(String paramString1, String paramString2, NetworkInterface paramNetworkInterface)
    {
      if (new File("/system/bin/ifconfig").exists()) {}
      String str1;
      InetAddress localInetAddress1;
      InetAddress localInetAddress2;
      String str5;
      InetAddress localInetAddress3;
      boolean bool1;
      for (;;)
      {
        String str4;
        int j;
        int k;
        try
        {
          Process localProcess = Runtime.getRuntime().exec(new String[] { "/system/bin/ifconfig", paramString1 });
          str1 = "";
          DataInputStream localDataInputStream = new DataInputStream(localProcess.getInputStream());
          String str2 = localDataInputStream.readLine();
          if (str2 != null)
          {
            str1 = str1 + str2 + "\n";
            continue;
          }
          localDataInputStream.close();
          if (localProcess.waitFor() != 0) {
            return null;
          }
          String str3 = paramString1 + ":";
          if (!str1.startsWith(str3)) {
            break label511;
          }
          str4 = str1.toLowerCase();
          int i = str4.indexOf(" ip ", 1 + str4.indexOf(": "));
          j = str4.indexOf(" mask ", i + 1);
          k = str4.indexOf(" flags [", i + 1);
          int m = str4.indexOf("]", k + 1);
          int n = i + 4;
          if (j >= 0) {
            break label446;
          }
          i1 = k;
          localInetAddress1 = InetAddress.getByName(str4.substring(n, i1).trim());
          if (j >= 0) {
            break label453;
          }
          localInetAddress2 = null;
          str5 = str4.substring(k + 8, m);
          if ((str5.indexOf("up") < 0) || (str5.indexOf("running") < 0) || (str5.indexOf("loopback") >= 0)) {
            break label551;
          }
          int i3 = str5.indexOf("broadcast");
          localInetAddress3 = null;
          if (i3 >= 0)
          {
            byte[] arrayOfByte1 = localInetAddress1.getAddress();
            byte[] arrayOfByte2 = localInetAddress2.getAddress();
            byte[] arrayOfByte3 = new byte[4];
            arrayOfByte3[0] = ((byte)(0xFFFFFFFF ^ arrayOfByte2[0] | arrayOfByte1[0]));
            arrayOfByte3[1] = ((byte)(0xFFFFFFFF ^ arrayOfByte2[1] | arrayOfByte1[1]));
            arrayOfByte3[2] = ((byte)(0xFFFFFFFF ^ arrayOfByte2[2] | arrayOfByte1[2]));
            arrayOfByte3[3] = ((byte)(0xFFFFFFFF ^ arrayOfByte2[3] | arrayOfByte1[3]));
            localInetAddress3 = InetAddress.getByAddress(arrayOfByte3);
          }
          if (paramNetworkInterface == null) {
            break;
          }
          if (str5.indexOf("multicast") < 0) {
            break label539;
          }
          bool1 = true;
          NetworkInterfaceData localNetworkInterfaceData = new NetworkInterfaceData(paramNetworkInterface, localInetAddress1, localInetAddress2, localInetAddress3, bool1);
          return localNetworkInterfaceData;
        }
        catch (Throwable localThrowable)
        {
          localThrowable.printStackTrace();
          App.reportThrowable(localThrowable);
        }
        return null;
        label446:
        int i1 = j;
        continue;
        label453:
        int i2 = j + 6;
        localInetAddress2 = InetAddress.getByName(str4.substring(i2, k).trim());
      }
      if (str5.indexOf("multicast") >= 0) {}
      for (boolean bool2 = true;; bool2 = false)
      {
        return new NetworkInterfaceData(paramString1, paramString2, localInetAddress1, localInetAddress2, localInetAddress3, bool2);
        label511:
        throw new Exception("Unexpected ifconfig output:\n" + str1);
        label539:
        bool1 = false;
        break;
      }
      label551:
      return null;
    }
	}

	public static class PCanvas extends Canvas {
		public PCanvas(Bitmap paramBitmap) {
			super();
		}

		public void drawPicture(Picture paramPicture) {
			paramPicture.draw(this);
		}
	}
}

/*
 * Location:
 * C:\Users\Admin\Desktop\Decompiler\JAD\jd-gui-0.3.6.windows\classes_dex2jar
 * .jar
 * 
 * Qualified Name: com.dynamixsoftware.printershare.App
 * 
 * JD-Core Version: 0.7.0.1
 */